package sets.collection.list;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/*
并发修改异常 ConcurrentModificationException
    使用迭代器遍历集合的过程中，调用了集合对象的添加、删除方法，就会出现异常
    解决方法：那就使用迭代器本身的方法

        删除的方法：普通的迭代器有
        添加的方法：普通的迭代器没有，ListIterator才有
 */
public class ListDemo03 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("111");
        list.add("222");
        list.add("333");

        ListIterator<String> it = list.listIterator();
        while(it.hasNext()){
            String s = it.next();
            if("333".equals(s)){
                //调用了集合对象的添加、删除方法，迭代器拿不到数据了
                //list.remove("333");
                it.remove();
                it.add("gg");
            }
        }
        System.out.println(list);

    }
}
